package org.easyspring.util;

import com.alibaba.fastjson.annotation.JSONField;

import java.io.Serializable;
import java.util.List;

public class UserVo implements Serializable {
    private static final long serialVersionUID = 1L;
    private Integer id;
    private String loginName;
    private String loginPassword;
    private String contactPhone;
    private String email;
    /**
     * 姓名
     */
    private String realName;
    /**
     * 公司
     */
    private String company;
    /**
     * 部门
     */
    private String department;
    /**
     * 职位
     */
    private String position;
    /**
     * 使用CRM原因
     */
    private String useCrmReason;
    private int partnerId;
    private Integer partnerIdNew;
    private String partnerName;
    /**
     * 供应商
     */
    private String provider;
    private int isAdmin;
    /**
     * 其他
     */
    private String other;
    private Integer tenantId;
    private String acceptLanguage;
    private String subSystemName;
    private String subSystemCode;
    private String roleName;
    private String roleCode;
    //private List<SubSystemRoleVo> subSystemRoleVos;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @JSONField(name = "login_name")
    public String getLoginName() {
        return loginName;
    }

    @JSONField(name = "login_name")
    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    @JSONField(name = "login_password")
    public String getLoginPassword() {
        return loginPassword;
    }

    @JSONField(name = "login_password")
    public void setLoginPassword(String loginPassword) {
        this.loginPassword = loginPassword;
    }

    @JSONField(name = "contact_phone")
    public String getContactPhone() {
        return contactPhone;
    }

    @JSONField(name = "contact_phone")
    public void setContactPhone(String contactPhone) {
        this.contactPhone = contactPhone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    @JSONField(name = "real_name")
    public String getRealName() {
        return realName;
    }

    @JSONField(name = "real_name")
    public void setRealName(String realName) {
        this.realName = realName;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getDepartment() {
        return department;
    }

    public void setDepartment(String department) {
        this.department = department;
    }

    public String getPosition() {
        return position;
    }

    public void setPosition(String position) {
        this.position = position;
    }

    @JSONField(name = "use_crm_reason")
    public String getUseCrmReason() {
        return useCrmReason;
    }

    @JSONField(name = "use_crm_reason")
    public void setUseCrmReason(String useCrmReason) {
        this.useCrmReason = useCrmReason;
    }

    @JSONField(name = "partner_id")
    public int getPartnerId() {
        return partnerId;
    }

    @JSONField(name = "partner_id")
    public void setPartnerId(int partnerId) {
        this.partnerId = partnerId;
    }

    @JSONField(name = "partner_id_new")
    public Integer getPartnerIdNew() {
        return partnerIdNew;
    }

    @JSONField(name = "partner_id_new")
    public void setPartnerIdNew(Integer partnerIdNew) {
        this.partnerIdNew = partnerIdNew;
    }

    public String getPartnerName() {
        return partnerName;
    }

    public void setPartnerName(String partnerName) {
        this.partnerName = partnerName;
    }

    public String getProvider() {
        return provider;
    }

    public void setProvider(String provider) {
        this.provider = provider;
    }

    @JSONField(name = "is_admin")
    public int getIsAdmin() {
        return isAdmin;
    }

    @JSONField(name = "is_admin")
    public void setIsAdmin(int isAdmin) {
        this.isAdmin = isAdmin;
    }

    public String getOther() {
        return other;
    }

    public void setOther(String other) {
        this.other = other;
    }

    @JSONField(name = "tenant_id")
    public Integer getTenantId() {
        return tenantId;
    }

    @JSONField(name = "tenant_id")
    public void setTenantId(Integer tenantId) {
        this.tenantId = tenantId;
    }

    @JSONField(name = "accept_language")
    public String getAcceptLanguage() {
        return acceptLanguage;
    }

    @JSONField(name = "accept_language")
    public void setAcceptLanguage(String acceptLanguage) {
        this.acceptLanguage = acceptLanguage;
    }

    @JSONField(name = "sub_system_name")
    public String getSubSystemName() {
        return subSystemName;
    }

    @JSONField(name = "sub_system_name")
    public void setSubSystemName(String subSystemName) {
        this.subSystemName = subSystemName;
    }

    @JSONField(name = "sub_system_code")
    public String getSubSystemCode() {
        return subSystemCode;
    }

    @JSONField(name = "sub_system_code")
    public void setSubSystemCode(String subSystemCode) {
        this.subSystemCode = subSystemCode;
    }

    @JSONField(name = "role_name")
    public String getRoleName() {
        return roleName;
    }

    @JSONField(name = "role_name")
    public void setRoleName(String roleName) {
        this.roleName = roleName;
    }

    @JSONField(name = "role_code")
    public String getRoleCode() {
        return roleCode;
    }

    @JSONField(name = "role_code")
    public void setRoleCode(String roleCode) {
        this.roleCode = roleCode;
    }

//    public List<SubSystemRoleVo> getSubSystemRoleVos() {
//        return subSystemRoleVos;
//    }
//
//    public void setSubSystemRoleVos(List<SubSystemRoleVo> subSystemRoleVos) {
//        this.subSystemRoleVos = subSystemRoleVos;
//    }

    @Override
    public String toString() {
        return "UserVo{" +
                "id=" + id +
                ", loginName='" + loginName + '\'' +
                ", loginPassword='" + loginPassword + '\'' +
                ", contactPhone='" + contactPhone + '\'' +
                ", email='" + email + '\'' +
                ", realName='" + realName + '\'' +
                ", company='" + company + '\'' +
                ", department='" + department + '\'' +
                ", position='" + position + '\'' +
                ", useCrmReason='" + useCrmReason + '\'' +
                ", partnerId=" + partnerId +
                ", partnerIdNew=" + partnerIdNew +
                ", partnerName='" + partnerName + '\'' +
                ", provider='" + provider + '\'' +
                ", isAdmin=" + isAdmin +
                ", other='" + other + '\'' +
                ", tenantId=" + tenantId +
                ", acceptLanguage='" + acceptLanguage + '\'' +
                ", subSystemName='" + subSystemName + '\'' +
                ", subSystemCode='" + subSystemCode + '\'' +
                ", roleName='" + roleName + '\'' +
                ", roleCode='" + roleCode + '\'' +
                '}';
    }
}